import {
    RequestError,
    ResponseError,
    TokenInvalidError,
    RoleInUseError,
    AccountNameDuplicatedError,
    errorMap
  } from './errors'
  import { md5 } from '@/utilities/crypto' // 加密
  
  function signature(data) {
      return md5(data)
  }
  export function	getFromData(dataObj,setUrl){
      var proFromData=new Promise(function(resolve,reject){
      let formData = new FormData();
      let data = dataObj
      let token = sessionStorage.getItem('token');
      let  a = new Date();
      let btime= a .getTime();
      var signs = "data="+JSON.stringify(data)+"&stmb="+btime;
      var oReq = new XMLHttpRequest();
      if(data.productType != "3"){
          let length = document.getElementsByClassName("el-upload__input").length
              formData.append("coverPicImg", document.getElementsByClassName("el-upload__input")[length-1].files[0]);
      }else{
          let length = document.getElementsByClassName("el-upload__input").length
              formData.append("coverPicImg", document.getElementsByClassName("el-upload__input")[length-2].files[0]);
              formData.append("fileExcel", document.getElementsByClassName("el-upload__input")[length-1].files[0]);
      }
          formData.append("data", JSON.stringify(data));
          formData.append("version", "");
          formData.append("token", token);
          formData.append("stmb", btime);
          formData.append('sign', signature(signs))
          oReq.open("POST", setUrl, true);
      oReq.send(formData);
      oReq.onreadystatechange = () => {//在这里指定上传成功的回调函数，接受返回值  
                  if (oReq.readyState == 4 && oReq.status == 200) {  
                          let res = JSON.parse(oReq.responseText);  
                          if(res.rspCode){
                              if(res.rspCode == "0000"){
                              // this.$message({
                              // 	showClose: true,
                              // 	message: "提交成功",
                              // 	type: "success"
                              // });
                              // this.Subabled = false;
                              // this.$emit("close", true);
                              resolve("提交成功!")
                              }else if(res.rspCode == "1111"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "服务器异常，请联系管理员或稍后再试!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("服务器异常，请联系管理员或稍后再试!")
                              }else if(res.rspCode == "1998"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "参数非法!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("参数非法!")
                              }else if(res.rspCode == "1999"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "会话超时!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("会话超时!")
                              }else if(res.rspCode == "3333"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "参数缺失!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("参数缺失!")
                              }else if(res.rspCode == "4444"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "请求不合理!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("请求不合理!")
                              }else if(res.rspCode == "4000"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "上传的文件不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("上传的文件不存在!")
                              }else if(res.rspCode == "5000"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "token失效，需要重新登入!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("token失效，需要重新登入!")
                              }else if(res.rspCode == "5001"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "没有权限!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("没有权限!")
                              }else if(res.rspCode == "5002"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "角色已经存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("角色已经存在!")
                              }else if(res.rspCode == "5003"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "角色已经使用!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("角色已经使用!")
                              }else if(res.rspCode == "5203"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "查询出来的数据过大，无法导出!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("查询出来的数据过大，无法导出!")
                              }else if(res.rspCode == "5004"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "用户锁定!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("用户锁定!")
                              }else if(res.rspCode == "5005"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "菜单不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("菜单不存在!")
                              }else if(res.rspCode == "5006"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "用户密码错误!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("用户密码错误!")
                              }else if(res.rspCode == "5007"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "用户名已存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("用户名已存在!")
                              }else if(res.rspCode == "5008"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "菜单添加失败!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("菜单添加失败!")
                              }else if(res.rspCode == "5009"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "权限失败!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("权限失败!")
                              }else if(res.rspCode == "5010"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "输入的原密码错误!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("输入的原密码错误!")
                              }else if(res.rspCode == "5011"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "输入的权限菜单为空!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("输入的权限菜单为空!")
                              }else if(res.rspCode == "6001"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商品信息不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商品信息不存在!")
                              }else if(res.rspCode == "6002"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商品不是实物!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商品不是实物!")
                              }else if(res.rspCode == "6003"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商品名称已经存在了!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商品名称已经存在了!")
                              }else if(res.rspCode == "6004"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "上传的文件不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("上传的文件不存在!")
                              }else if(res.rspCode == "6005"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "上传的文件数量错误!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("上传的文件数量错误!")
                              }else if(res.rspCode == "6006"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "上传的文件xls不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("上传的文件xls不存在!")
                              }else if(res.rspCode == "6007"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商品库存还有可用数量!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商品库存还有可用数量!")
                              }else if(res.rspCode == "6008"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商品库存没有可用数量!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商品库存没有可用数量!")
                              }else if(res.rspCode == "6009"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "开始时间不能大于结束时间!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("开始时间不能大于结束时间!")
                              }else if(res.rspCode == "6101"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "机构名称已经存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("机构名称已经存在!")
                              }else if(res.rspCode == "6102"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "上传的图片不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("上传的图片不存在!")
                              }else if(res.rspCode == "6103"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "banner名称已经存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("banner名称已经存在!")
                              }else if(res.rspCode == "6104"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "上传的图片不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("上传的图片不存在!")
                              }else if(res.rspCode == "6201"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "查询的信息无效!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("查询的信息无效!")
                              }else if(res.rspCode == "6301"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商户名称已经存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商户名称已经存在!")
                              }else if(res.rspCode == "6302"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商户用户名称已经存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商户用户名称已经存在!")
                              }else if(res.rspCode == "6303"){
                                  // this.$message({
                                  // 	showClose: true,
                                  // 	message: "商户信息不存在!",
                                  // 	type: "error"
                                  // });
                                  // this.Subabled = false;
                                  reject("商户信息不存在!")
                              }
                          }
                  }
          };
      })
      return proFromData;
  }